using Vin.Tool.Attributes;

namespace Vin.Extension.Framework.Wechat.Pay.Options;

[Option("VinWechat:Pay")]
public class WechatPayOption
{
    /// <summary>
    /// 商户号(服务商模式下为服务商商户号，直连模式下为直连商户号)
    /// </summary>
    public string MerchantId { get; set; } = null!;
    
    /// <summary>
    /// AppId(服务商模式下为服务商AppId，直连模式下为直连商户AppId)
    /// </summary>
    public string AppId { get; set; } = null!;
    
    /// <summary>
    /// 微信支付 V3 商户密钥
    /// </summary>
    public string MerchantV3Secret { get; set; } = null!;
    
    /// <summary>
    /// cert.pem 证书文件路径
    /// </summary>
    public string CertPemPath { get; set; } = null!;
    
    /// <summary>
    /// key.pem 证书文件路径
    /// </summary>
    public string KeyPemPath { get; set; } = null!;
    
    /// <summary>
    /// 微信支付 V3 支付成功通知地址
    /// </summary>
    public string V3NotifyUrl { get; set; } = null!;
}